#pragma once
#include <string>
#include "../../../utils/common_ptr.h"

class SQLUnionOperator
{
public:
  static SQLUnionOperator_ptr UNION;
  static SQLUnionOperator_ptr UNION_ALL;
  static SQLUnionOperator_ptr MINUS;
  static SQLUnionOperator_ptr MINUS_DISTINCT;
  static SQLUnionOperator_ptr MINUS_ALL;
  static SQLUnionOperator_ptr EXCEPT;
  static SQLUnionOperator_ptr EXCEPT_ALL;
  static SQLUnionOperator_ptr EXCEPT_DISTINCT;
  static SQLUnionOperator_ptr INTERSECT;
  static SQLUnionOperator_ptr INTERSECT_ALL;
  static SQLUnionOperator_ptr INTERSECT_DISTINCT;
  static SQLUnionOperator_ptr DISTINCT;

  SQLUnionOperator() {}
  SQLUnionOperator(uint64_t mask, string_ptr  name);
  uint64_t mask;
  string_ptr  name;
  string_ptr nameLCase;

  bool operator==(SQLUnionOperator& rgt) ;
  bool operator!=(SQLUnionOperator& rgt) ;
};
